Although the universal increase in the implementation of the Internet and local intranets has resulted in many desirable results, such as the speed and breadth with which information is disseminated, it has also enabled many undesirable results. One of the most notable undesirable results associated with the implementation of such networks is the ease of the transmission of computer viruses, worms and other malicious applications. More specifically, before the advent of the Internet and local intranets, users rarely read or copied data onto their computers from unknown external sources. However, users today routinely receive data from unknown computers via e-mail or via download from the world-wide-web using, for example, a web browser. As such, any company or service provider providing network access is concerned with security. In particular, viruses and other malicious applications are a threat that needs to be contained. Most malicious applications exploit known security flaws in popular operating systems, in particular ones that are in widespread use, such as all versions of Microsoft Windows®. They first infect a vulnerable station, and then use this host to initiate communication with the purpose of spreading the infection and/or overloading a network.
Most currently available virus protection software packages focus on identifying and removing viruses from a system. The virus protection programs protect the computer by scanning e-mail and other files for know sections of a virus or worm. Whenever a file is identified as containing a known virus or worm, the user is alerted and the file can be removed or the virus within the file may be removed. Whenever a new virus is identified, new code is written to search for the identifiable features of the new virus. However, these software programs are ineffective against new viruses that have been created after the virus software program was created since the virus protection software will not know what the identifiable features of the new virus are and will thus not find it when it scans the files.